// Package sysin
// @Link  https://github.com/bufanyun/hotgo
// @Copyright  Copyright (c) 2024 HotGo CLI
// @Author  Ms <133814250@qq.com>
// @License  https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.13.1
package sysin

import (
	"context"
	"hotgo/internal/model/entity"
	"hotgo/internal/model/input/form"

	"github.com/gogf/gf/v2/encoding/gjson"
)

// StockLhbGgtjSinaUpdateFields 修改龙虎榜字段过滤
type StockLhbGgtjSinaUpdateFields struct {
	Code          string      `json:"code"          dc:"code"`
	Name          string      `json:"name"          dc:"name"`
	SumBuy        float64     `json:"sumBuy"        dc:"龙虎榜买入额"`
	SumSell       float64     `json:"sumSell"       dc:"龙虎榜卖出额"`
	NetAmount     float64     `json:"netAmount"     dc:"龙虎榜净买额"`
	BuyLhb        float64     `json:"buyLhb"        dc:"龙虎榜成交额"`
	Desc          string      `json:"desc"          dc:"解读"`
	Reason        string      `json:"reason"        dc:"上榜原因"`
	SellSeat      *gjson.Json `json:"sellSeat"      dc:"sell_seat"`
	BuySeat       *gjson.Json `json:"buySeat"       dc:"buy_seat"`
	Closed        float64     `json:"closed"        dc:"收盘价格"`
	ChangePercent float64     `json:"changePercent" dc:"涨跌幅"`
	BuyMarket     float64     `json:"buyMarket"     dc:"市场总成交额"`
	Date          string      `json:"date"          dc:"上榜日期"`
}

// StockLhbGgtjSinaInsertFields 新增龙虎榜字段过滤
type StockLhbGgtjSinaInsertFields struct {
	Code          string      `json:"code"          dc:"code"`
	Name          string      `json:"name"          dc:"name"`
	SumBuy        float64     `json:"sumBuy"        dc:"龙虎榜买入额"`
	SumSell       float64     `json:"sumSell"       dc:"龙虎榜卖出额"`
	NetAmount     float64     `json:"netAmount"     dc:"龙虎榜净买额"`
	BuyLhb        float64     `json:"buyLhb"        dc:"龙虎榜成交额"`
	Desc          string      `json:"desc"          dc:"解读"`
	Reason        string      `json:"reason"        dc:"上榜原因"`
	SellSeat      *gjson.Json `json:"sellSeat"      dc:"sell_seat"`
	BuySeat       *gjson.Json `json:"buySeat"       dc:"buy_seat"`
	Closed        float64     `json:"closed"        dc:"收盘价格"`
	ChangePercent float64     `json:"changePercent" dc:"涨跌幅"`
	BuyMarket     float64     `json:"buyMarket"     dc:"市场总成交额"`
	Date          string      `json:"date"          dc:"上榜日期"`
}

// StockLhbGgtjSinaEditInp 修改/新增龙虎榜
type StockLhbGgtjSinaEditInp struct {
	entity.StockLhbGgtjSina
}

func (in *StockLhbGgtjSinaEditInp) Filter(ctx context.Context) (err error) {

	return
}

type StockLhbGgtjSinaEditModel struct{}

// StockLhbGgtjSinaDeleteInp 删除龙虎榜
type StockLhbGgtjSinaDeleteInp struct {
	Code interface{} `json:"code" v:"required#code不能为空" dc:"code"`
}

func (in *StockLhbGgtjSinaDeleteInp) Filter(ctx context.Context) (err error) {
	return
}

type StockLhbGgtjSinaDeleteModel struct{}

// StockLhbGgtjSinaViewInp 获取指定龙虎榜信息
type StockLhbGgtjSinaViewInp struct {
	Code string `json:"code" v:"required#code不能为空" dc:"code"`
}

func (in *StockLhbGgtjSinaViewInp) Filter(ctx context.Context) (err error) {
	return
}

type StockLhbGgtjSinaViewModel struct {
	entity.StockLhbGgtjSina
}

// StockLhbGgtjSinaListInp 获取龙虎榜列表
type StockLhbGgtjSinaListInp struct {
	form.PageReq
	form.Sorters
	Code      string  `json:"code"      dc:"code"`
	BuyMarket float64 `json:"buyMarket" dc:"市场总成交额"`
	Date      string  `json:"date"      dc:"上榜日期"`
	Category  string  `json:"category"      dc:"市场分类"`
}

func (in *StockLhbGgtjSinaListInp) Filter(ctx context.Context) (err error) {
	return
}

type StockLhbGgtjSinaListModel struct {
	Code          string  `json:"code"          dc:"code"`
	Name          string  `json:"name"          dc:"name"`
	SumBuy        float64 `json:"sumBuy"        dc:"龙虎榜买入额"`
	SumSell       float64 `json:"sumSell"       dc:"龙虎榜卖出额"`
	NetAmount     float64 `json:"netAmount"     dc:"龙虎榜净买额"`
	BuyLhb        float64 `json:"buyLhb"        dc:"龙虎榜成交额"`
	BuyMarket     float64 `json:"buyMarket"     dc:"市场总成交额"`
	Date          string  `json:"date"          dc:"上榜日期"`
	Desc          string  `json:"desc"          dc:"解读"`
	Reason        string  `json:"reason"        dc:"上榜原因"`
	Closed        float64 `json:"closed"        dc:"收盘价格"`
	ChangePercent float64 `json:"changePercent" dc:"涨跌幅"`
}

// StockLhbGgtjSinaExportModel 导出龙虎榜
type StockLhbGgtjSinaExportModel struct {
	Code          string  `json:"code"          dc:"code"`
	Name          string  `json:"name"          dc:"name"`
	SumBuy        float64 `json:"sumBuy"        dc:"龙虎榜买入额"`
	SumSell       float64 `json:"sumSell"       dc:"龙虎榜卖出额"`
	NetAmount     float64 `json:"netAmount"     dc:"龙虎榜净买额"`
	BuyLhb        float64 `json:"buyLhb"        dc:"龙虎榜成交额"`
	BuyMarket     float64 `json:"buyMarket"     dc:"市场总成交额"`
	Date          string  `json:"date"          dc:"上榜日期"`
	Desc          string  `json:"desc"          dc:"解读"`
	Reason        string  `json:"reason"        dc:"上榜原因"`
	Closed        float64 `json:"closed"        dc:"收盘价格"`
	ChangePercent float64 `json:"changePercent" dc:"涨跌幅"`
}
